package net.csdn.business.common.domain.request.pop;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class InformationVO {
    /**
     * 文章id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long informationId;

    /**
     * 社区id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long communityId;

    /**
     * 资讯文章标题 最大支持50字
     */
    @Length(max = 150, message = "资讯文章标题最大支持50字")
    private String informationTitle;

    /**
     * 资讯文章描述，最大支持500字
     */
    @Length(max = 500, message = "资讯文章描述最大支持500字")
    private String informationMsg;

    /**
     * 标签id集合
     */
    private List<LabelDetailVO> labelVOList;

    /**
     * 封面url
     */
    private String coverUrl;

    /**
     * 资讯文章内容，最大支持5000字
     */
//    @Length(max = 5000, message = "资讯文章内容最大支持5000字")
    private String informationContent;

    /**
     * 资讯类型1精选 2非精选
     */
    private Integer informationType;

    /**
     * 资讯状态：1提交  2草稿 3下线
     */
    private Integer informationState;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 资讯关键词
     */
    private String informationKeywords;

    /**
     * 发布时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime publishTime;

    private Long informationLikeCount;

    private Long informationCollections;

    private String reason;
    /**
     * 文章浏览量
     */
    private Long informationViews;

    private String communityName;

    private String communityCode;

    private String communityLogo;

    private Long informationCollectNum;

    private Long informationLikeNum;

    private String createNickName;

    private String createId;

    private String createName;

    private Integer openComments;

    private Integer allowReprinting;

    private Integer textType;
}
